<?php
/**
 * View_Form_Coordinates
 *
 * Класс View_Form_Coordinates отвечает за вывод информации, в которой фигурирую координаты
 *
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class View_Form_Coordinates extends ActiveRecord {
	

	/**
	 * Выводит блок с информацией о координатах
	 * 
	 * @param Form_ViewForm $objForm
	 */
	protected function _showCoordinatesBlock(Form_ViewForm $objForm) {
		$objGeneral = Game_General::instance();
		$objForm->textField(array('maxlength' => 3, 'text' => 'X', 'required' => 1), 'coord_1');
		$objForm->textField(array('maxlength' => 3, 'text' => 'Y', 'required' => 1), 'coord_2');
		$objForm->hiddenField(array('value' => $objGeneral->objPlace->id), 'ID_own_place');
	}

	/**
	 * (non-PHPdoc)
	 * @see ActiveRecord::validation()
	 */
	public function validation($validationType, $arrAdditionalSettings = array()) {
		$objCoordinates = new Game_Coordinates($this);
		
		$placeId = $objCoordinates->getPlaceId();
		//$fieldToShowError = 'coord_1';
		$fieldToShowError = null;
		if (!$placeId) return $this->errorValidated($fieldToShowError, array(), Service_Translate::getText('По данным координатам поселение не существует'));
		$objGeneral = Game_General::instance();
		if ($objGeneral->objPlace->id == $placeId) return $this->errorValidated($fieldToShowError, array(), Service_Translate::getText('Нельзя указывать в качестве точки прибытия тот же населенный пункт'));
		if ($objGeneral->objPlace->id != $this->getField('ID_own_place'))  return $this->errorValidated($fieldToShowError, array(), Service_Translate::getText('Отправной населенный пункт изменился'));
		parent::validation($validationType, $arrAdditionalSettings = array());
	}
	
}
?>